Bug 528283 - Problems when using PageUp & PageDown to navigate...
authorKristian Rietveld <kris@gtk.org>
Sun, 23 Aug 2009 10:21:53 +0000 (12:21 +0200)
committerKristian Rietveld <kris@gtk.org>
Sun, 23 Aug 2009 20:06:15 +0000 (22:06 +0200)
Patch from Jonathan Matthew to make focus grabbing of page up/down,
home/end and left/right movements consistent with up/down.

gtk/gtktreeview.c

index f090a74df2cfa0d3094f66ddf460f84fb5d98650..5933f536a0614a386dfababb567e495433183b25 100644 (file)
@@ -9737,6 +9737,8 @@ gtk_tree_view_move_cursor_page_up_down (GtkTreeView *tree_view,
   if (!gtk_tree_path_compare (old_cursor_path, cursor_path))
     gtk_widget_error_bell (GTK_WIDGET (tree_view));
 
+  gtk_widget_grab_focus (GTK_WIDGET (tree_view));
+
 cleanup:
   gtk_tree_path_free (old_cursor_path);
   gtk_tree_path_free (cursor_path);
@@ -9831,6 +9833,7 @@ gtk_tree_view_move_cursor_left_right (GtkTreeView *tree_view,
                                        cursor_node,
                                        NULL);
       g_signal_emit (tree_view, tree_view_signals[CURSOR_CHANGED], 0);
+      gtk_widget_grab_focus (GTK_WIDGET (tree_view));
     }
   else
     {
@@ -9896,6 +9899,7 @@ gtk_tree_view_move_cursor_start_end (GtkTreeView *tree_view,
   if (gtk_tree_path_compare (old_path, path))
     {
       gtk_tree_view_real_set_cursor (tree_view, path, TRUE, TRUE);
+      gtk_widget_grab_focus (GTK_WIDGET (tree_view));
     }
   else
     {